package com.ruoyi.system.service;

import java.util.List;
import com.ruoyi.system.domain.Room;

/**
 * 会议室管理Service接口
 * 
 * @author ruoyi
 * @date 2025-01-06
 */
public interface IRoomService 
{
    /**
     * 查询会议室管理
     * 
     * @param roomId 会议室管理主键
     * @return 会议室管理
     */
    public Room selectRoomByRoomId(Long roomId);

    /**
     * 查询会议室管理列表
     * 
     * @param room 会议室管理
     * @return 会议室管理集合
     */
    public List<Room> selectRoomList(Room room);
    List<Room> selectRoomListBySearch(Room room);

    /**
     * 新增会议室管理
     * 
     * @param room 会议室管理
     * @return 结果
     */
    public int insertRoom(Room room);

    /**
     * 修改会议室管理
     * 
     * @param room 会议室管理
     * @return 结果
     */
    public int updateRoom(Room room);

    /**
     * 批量删除会议室管理
     * 
     * @param roomIds 需要删除的会议室管理主键集合
     * @return 结果
     */
    public int deleteRoomByRoomIds(Long[] roomIds);

    /**
     * 删除会议室管理信息
     * 
     * @param roomId 会议室管理主键
     * @return 结果
     */
    public int deleteRoomByRoomId(Long roomId);

    /**
     * 检查会议室地点是否已存在
     * 
     * @param roomAddress 会议室地点
     * @return 结果
     */
    boolean checkRoomAddressExists(String roomAddress);

    /**
     * 检查会议室地点是否与其他会议室重复（更新时使用）
     * 
     * @param room 会议室信息
     * @return 结果
     */
    boolean checkRoomAddressExistsForUpdate(Room room);
}
